package com.trump.baiduim.service;

import com.trump.baiduim.dao.MessageDao;
import com.trump.baiduim.model.Message;
import com.trump.baiduim.model.User;
import org.springframework.beans.factory.annotation.Autowired;

import java.sql.Timestamp;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;

/**
 * @author guoyuans
 */
public interface ImService {
    /**
     * 插入历史记录
     * @param message
     */
    void insertMessage(Message message);

    /**
     * 查询状态为未签收的消息
     * @param messageReceiver
     * @return
     */
    LinkedList<Message> queryNoSendMessage(String messageReceiver);

    /**
     * 离线消息推送后消息状态的改变
     * @param messageId
     */
    void updateMessageStatus(Long messageId, Timestamp timestamp);

    /**
     * 依据用户账号查询用户
     * @param userAccount
     * @return
     */
    User findUserByAccount(String userAccount);
}
